package cn.ljy.uem.service;

import cn.hutool.poi.excel.ExcelWriter;
import cn.ljy.authority.model.SysUser;
import cn.ljy.authority.model.query.SysUserQuery;
import cn.ljy.common.model.result.ExcelImportResult;
import cn.ljy.uem.model.SchoolTerm;
import cn.ljy.uem.model.query.SchoolTermQuery;

import javax.validation.constraints.NotNull;
import java.io.InputStream;

public interface SchoolTermExcelService {

    /**
     * 导出表格模板
     */
//    ExcelWriter exportExcelTemplate();

    /**
     * 根据查询条件导出表格数据
     * 1.如果是模板，则输出标题栏加示例；
     * 2.如果不是模板，则根据查询条件输出所有记录
     * @param isTemplate
     * @param schoolTermQuery 查询条件
     */
    ExcelWriter exportExcel(boolean isTemplate, SchoolTermQuery schoolTermQuery);

    /**
     * 导入账户列表
     * 说明：
     * 1.只有root用户能直接导入账户信息
     * @param inputStream excel文件流
     * @param user 导入文件的对象
     * @return 返回导入结果
     */
    ExcelImportResult addUsersFromExcel(InputStream inputStream, @NotNull(message="请先登录") SysUser user);

}
